
I think that I am beginning to hate JSON. Or maybe it is just really hard to parse it in JavaScript and C++. But when I look at examples online, parsing JSON looks very easy and straight forward. So I guess the problem is just me. Either way, despite the dislike of working with JSON, the CitySim game is really coming along. It is starting to become an actual game. Before, it really was just a city building app that had no real purpose. You built buildings to gain or lose money, and it never really ended and you never really won. There just wasn't really a point.
That has now changed. At least a little bit. Now there is a point: collecting badges. And hopefully soon, I will be able to add another point: scenarios with objectives. But for now, there are at least badges. You can build your micro-city in the palm of your hands and get rewarded by little popups telling you that you have earned a new badge! There are 15 badges in all, with three levels (gold, silver, and bronze) making for 45 unlockable acheivements. To be completely honest, I am not sure all of them are acheivable.
I mean, I know that the disaster badges are not currently possible, since we don't have disasters added into the game (but the infrasturcture is all there to do it). However, what I mean is that I am not entirely sure if the population badge of 1 million people is actually possible. In theory, based on math, I know that the city plot is 1024 squares, and that a level 4 residential area can hold up to 3000 people in one square, so that would only require 334 residential zones, leaving 690 squares for support. Mathematically, that should work. I'm just not sure if it will actually work. What will traffic, pollution, and crime be like at that point? More math, more figuring... but it should work.
We'll just have to play it and see.
I also made this snazzy little "about" popup, to give credit to the original creator, and show where interested parties can go to read the source[1] code:

Simple, but hopefully useful enough. The big question now is: what's left? Well, lots, but mainly in these three categories:
- Audio
- Disasters
- Scenarios
Perhaps a distant fourth is the potential QT6 upgrade, since Ubuntu Touch is getting ready to drop that sometime in the next year.
Audio
Thus far, I have completely ignored the audio portion of the game. It was pushed to the backburner because most of my development is done with "clickable desktop" running the game on my computer desktop, which causes pulseaudio errors. However, when I test it on my phone, sounds do work, but not always properly. I think I will need to completely revamp the sound/audio methods and settings for the game, so it will be a big task.
Disasters
I already created the framework for disasters, and currently use it for the fire/blaze that happens when you don't have adequate fire coverage (e.g., too few fire departments). Now I need to figure out what I'd like to do for the disasters to actually happen. Do I want a visual disaster that takes a certain number of days? Do I pause the game, launch the disaster, then unpause the game? Does the disaster just happen, and you get a popup from some general telling you King Kong just wrecked your town, but they put a stop to it, and you deal with the aftermath? And what will differentiate a volcano erruption from a meteor strike?
I believe a big difference will be the destruction pattern. A volcano will have a center and spread out over the surrounding tiles. King Kong will probably walk across the map, leaving rubble behind. Meteors will likely hit several spots at once. I'm also excited for my non-destructive disasters, such as outbreak, causing population decrease, and crime wave, increasing crime, thus forcing you to build more police departments, etc. I was also considering one like inflation, where prices go up for you, but you don't get more money from the people, and things like that. In any event, I also need to determine how often a disaster can strike, and still feel random.
Scenarios
Also important is to implement the different scenarios. I'd like to keep these distinct from the badges you earn, though. That way the earning of badges and the winning of scenarios will not coincide. Obviously, I've already stated that the crowning acheivement, and last scenario will be that of building the space ship launch pad and sending an astronaut to space, but I'd like to think of a few more unique scenarios that will be interesting to play, but also keep with my relaxing theme.
So, lots more to do, but it seems to really be taking shape now! I guess I'll get back to working on it....
Linux - keep it simple.